/**
 * Note事件类
 * @namespace Event
 * @author JunEnstein 2017-05-21
 */
Note.Event = function(){};

/**
 * 自定义事件监听类
 * @method addEventListener
 * @author JunEnstein 2017-05-21
 * @param  {String} eventType 事件类型
 * @param  {function} funcName 监听函数
 * @param  {Boolean} useCapture (暂未实现)可选。布尔值，指定事件是否在捕获或冒泡阶段执行
 */
Note.Event.prototype.addEventListener = function(eventType, funcName, useCapture){
	this['on'+eventType].push(funcName);
};

/**
 * 移除指定监听函数
 * @method removeEventListener
 * @author JunEnstein 2017-05-21
 * @param  {String} eventType 事件类型
 * @param  {function} funcName 监听函数
 */
Note.Event.prototype.removeEventListener = function(eventType, funcName){
	this['on'+eventType].remove(funcName);
};

/**
 * 通过索引移除指定监听函数
 * @method removeEventListenerByIndex
 * @author JunEnstein 2017-05-21
 * @param  {String} eventType 事件类型
 * @param  {function} funcName 监听函数
 */
Note.Event.prototype.removeEventListenerByIndex = function(eventType, index){
	this['on'+eventType].splice(index, 1);
};

/**
 * 删除事件触发对象
 * @method deleted
 * @author JunEnstein 2017-05-21
 */
Note.Event.prototype.deleted = function(){
	console.log("deleted");
	console.log(this.ondelete);
	for(var key in this.ondelete){
		this.ondelete[key](this);
	}
};